home *** CD-ROM | disk | FTP | other *** search
/ PCNet 1998 May / PCnet Mayıs 1998.iso / Multimed / Program / A_Trial.exe / data.z / JMxText.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-12-04  |  4.8 KB  |  336 lines

  1. import java.awt.Dimension;
  2. import java.awt.Graphics;
  3. import java.awt.Image;
  4. import java.awt.Point;
  5. import java.awt.Rectangle;
  6. import java.awt.image.ImageObserver;
  7.  
  8. public class JMxText extends JMxGraphic {
  9.    protected Point m_RelMousePoint = new Point(-1, -1);
  10.    protected boolean m_HSChangedWithin;
  11.    protected int m_SrcWidth = -1;
  12.    protected int m_SrcHeight = -1;
  13.  
  14.    public boolean AdjustGraphicRect(Rectangle var1) {
  15.       if (var1 != null) {
  16.          var1.height = super.m_PlaybackRect.height;
  17.          var1.width = super.m_PlaybackRect.width;
  18.          if (super.m_TransInType != 300 && super.m_TransInType != 301) {
  19.             if (super.m_TransInType == 302 || super.m_TransInType == 303) {
  20.                var1.width = -1;
  21.             }
  22.          } else {
  23.             var1.height = -1;
  24.          }
  25.       }
  26.  
  27.       return true;
  28.    }
  29.  
  30.    public boolean HasMouseEffect(JMxLong var1, Point var2) {
  31.       this.m_HSChangedWithin = false;
  32.       int var3 = -1;
  33.       int var4 = -1;
  34.       this.m_RelMousePoint.x = var2.x - super.m_PlaybackRect.x;
  35.       this.m_RelMousePoint.y = var2.y - super.m_PlaybackRect.y;
  36.       if (super.m_PlaybackRect.inside(var2.x, var2.y)) {
  37.          if (super.m_HotSpotList == null) {
  38.             return true;
  39.          } else {
  40.             if (super.m_MouseEffectOn) {
  41.                if (this.IsHotSpotUnderPoint(super.m_CurHotSpot, this.m_RelMousePoint, true)) {
  42.                   var3 = -1;
  43.                   var4 = (boolean)-1;
  44.                   var1.m_Value = 1L;
  45.                   return true;
  46.                }
  47.  
  48.                var3 = super.m_CurHotSpot;
  49.                super.m_CurHotSpot = -1;
  50.                super.m_MouseEffectOn = false;
  51.             } else {
  52.                var3 = -1;
  53.             }
  54.  
  55.             super.m_CurHotSpot = this.FindHotSpotUnderPoint(this.m_RelMousePoint);
  56.             if (super.m_CurHotSpot != -1) {
  57.                var4 = super.m_CurHotSpot;
  58.                super.m_MouseEffectOn = true;
  59.                var1.m_Value = 1L;
  60.             } else {
  61.                var4 = -1;
  62.                super.m_MouseEffectOn = false;
  63.             }
  64.  
  65.             if (var4 != -1 && var3 != -1) {
  66.                this.m_HSChangedWithin = true;
  67.             }
  68.  
  69.             return true;
  70.          }
  71.       } else {
  72.          if (super.m_MouseEffectOn) {
  73.             var3 = super.m_CurHotSpot;
  74.             var4 = -1;
  75.          }
  76.  
  77.          super.m_MouseEffectOn = false;
  78.          super.m_CurHotSpot = -1;
  79.          return false;
  80.       }
  81.    }
  82.  
  83.    public boolean HideMouseEffect() {
  84.       super.m_MouseEffectOn = false;
  85.       super.m_CurHotSpot = -1;
  86.       this.m_RelMousePoint.x = -1;
  87.       this.m_RelMousePoint.y = -1;
  88.       return true;
  89.    }
  90.  
  91.    public boolean HasHotSpot() {
  92.       return super.m_HotSpotList != null && super.m_CurHotSpot != -1;
  93.    }
  94.  
  95.    public void Refresh(Graphics var1) {
  96.       if (this.m_SrcWidth == -1) {
  97.          this.m_SrcWidth = ((Image)super.m_MediaItem.m_MediaObject).getWidth((ImageObserver)null);
  98.       }
  99.  
  100.       if (this.m_SrcHeight == -1) {
  101.          this.m_SrcHeight = ((Image)super.m_MediaItem.m_MediaObject).getHeight((ImageObserver)null);
  102.       }
  103.  
  104.       super.Refresh(var1);
  105.       if (!((JMxGraphic)this).IsScrollable() && this.HasHotSpot() && super.m_MouseEffectOn) {
  106.          Dimension var2 = super.m_Player.size();
  107.          Graphics var3 = var1.create(0, 0, var2.width, var2.height);
  108.          var3.clipRect(super.m_PlaybackRect.x, super.m_PlaybackRect.y, super.m_PlaybackRect.width, super.m_PlaybackRect.height);
  109.          this.Highlight(super.m_CurHotSpot, var3, true, (Image)super.m_MediaItem.m_MediaObject);
  110.          var3.dispose();
  111.          Object var4 = null;
  112.       }
  113.  
  114.    }
  115.  
  116.    public boolean IsHotSpotUnderPoint(int var1, Point var2, boolean var3) {
  117.       Point var4 = var2;
  118.       if (((JMxGraphic)this).IsScrollable() && var3) {
  119.          var4 = this.ConvertMousePoint(var2);
  120.       }
  121.  
  122.       if (var1 >= 0 && var1 < super.m_HotSpotList.length) {
  123.          for(int var5 = 0; var5 < super.m_HotSpotList[var1].m_CondRect.length; ++var5) {
  124.             if (super.m_HotSpotList[var1].m_CondRect[var5].inside(var4.x, var4.y)) {
  125.                return true;
  126.             }
  127.          }
  128.       }
  129.  
  130.       return false;
  131.    }
  132.  
  133.    public Point ConvertMousePoint(Point var1) {
  134.       int var2 = var1.x;
  135.       int var3 = var1.y;
  136.       if (super.m_TransInType != 300 && super.m_TransInType != 301) {
  137.          int var5 = super.m_TransInType == 302 ? super.m_LastScrollOffset : this.m_SrcWidth - super.m_LastScrollOffset;
  138.          var2 += var5;
  139.          if (var2 >= this.m_SrcWidth) {
  140.             var2 -= this.m_SrcWidth;
  141.          }
  142.       } else {
  143.          int var4 = super.m_TransInType == 300 ? super.m_LastScrollOffset : this.m_SrcHeight - super.m_LastScrollOffset;
  144.          var3 += var4;
  145.          if (var3 >= this.m_SrcHeight) {
  146.             var3 -= this.m_SrcHeight;
  147.          }
  148.       }
  149.  
  150.       return new Point(var2, var3);
  151.    }
  152.  
  153.    public void Stop() {
  154.       super.m_CurHotSpot = -1;
  155.       super.m_MouseEffectOn = false;
  156.       this.m_RelMousePoint.x = -1;
  157.       this.m_RelMousePoint.y = -1;
  158.       super.Stop();
  159.    }
  160.  
  161.    public void Stop(Image var1, JObList var2, Graphics var3, Graphics var4) {
  162.       this.Stop();
  163.       super.Stop(var1, var2, var3, var4);
  164.    }
  165.  
  166.    protected void PerformScroll(Graphics var1, Image var2, int var3, Rectangle var4, Rectangle var5) {
  167.       boolean var6 = true;
  168.       Object var7 = null;
  169.       var1.clipRect(var5.x, var5.y, var5.width, var5.height);
  170.       if (!this.HasHotSpot() || !super.m_MouseEffectOn || super.m_CurHotSpot == -1) {
  171.          var6 = false;
  172.       }
  173.  
  174.       int var8 = 0;
  175.       int var9 = 0;
  176.       int var10 = 0;
  177.       int var11 = 0;
  178.       if (super.m_TransInType != 300 && super.m_TransInType != 301) {
  179.          var8 = super.m_TransInType == 302 ? var3 : this.m_SrcWidth - var3;
  180.          var9 = super.m_TransInType == 302 ? this.m_SrcWidth - var3 : var3;
  181.          var10 = var4.x - var8;
  182.          var11 = var4.x + var9;
  183.          var1.drawImage(var2, var10, var4.y, super.m_Player);
  184.          if (var6) {
  185.             Graphics var14 = var1.create(var10, var4.y, this.m_SrcWidth, var4.height);
  186.             this.Highlight(super.m_CurHotSpot, var14, false, var2);
  187.             var14.dispose();
  188.          }
  189.  
  190.          if (var11 < var4.x + var4.width) {
  191.             var1.drawImage(var2, var11, var4.y, super.m_Player);
  192.             if (var6) {
  193.                Graphics var15 = var1.create(var11, var4.y, this.m_SrcWidth, var4.height);
  194.                this.Highlight(super.m_CurHotSpot, var15, false, var2);
  195.                var15.dispose();
  196.             }
  197.          }
  198.       } else {
  199.          var8 = super.m_TransInType == 300 ? var3 : this.m_SrcHeight - var3;
  200.          var9 = super.m_TransInType == 300 ? this.m_SrcHeight - var3 : var3;
  201.          var10 = var4.y - var8;
  202.          var11 = var4.y + var9;
  203.          var1.drawImage(var2, var4.x, var10, super.m_Player);
  204.          if (var6) {
  205.             Graphics var12 = var1.create(var4.x, var10, var4.width, this.m_SrcHeight);
  206.             this.Highlight(super.m_CurHotSpot, var12, false, var2);
  207.             var12.dispose();
  208.          }
  209.  
  210.          if (var11 < var4.y + var4.height) {
  211.             var1.drawImage(var2, var4.x, var11, super.m_Player);
  212.             if (var6) {
  213.                Graphics var13 = var1.create(var4.x, var11, var4.width, this.m_SrcHeight);
  214.                this.Highlight(super.m_CurHotSpot, var13, false, var2);
  215.                var13.dispose();
  216.             }
  217.          }
  218.       }
  219.  
  220.       var7 = null;
  221.    }
  222.  
  223.    public boolean InitData() {
  224.       super.InitData();
  225.       super.m_Transparent = true;
  226.       return true;
  227.    }
  228.  
  229.    public void Highlight(int var1, Graphics var2, boolean var3, Image var4) {
  230.       for(int var5 = 0; var5 < super.m_HotSpotList[var1].m_CondRect.length; ++var5) {
  231.          Rectangle var6 = super.m_HotSpotList[var1].m_CondRect[var5];
  232.          int var7 = 0;
  233.          int var8 = 0;
  234.          if (var3) {
  235.             var7 = super.m_PlaybackRect.x;
  236.             var8 = super.m_PlaybackRect.y;
  237.          }
  238.  
  239.          int var9 = var6.x + var7;
  240.          int var10 = var6.y + var8;
  241.          Graphics var11 = var2.create(var9, var10, var6.width, var6.height);
  242.          var11.setColor(super.m_HighLightColor);
  243.          var11.translate(-var9, -var10);
  244.          var11.setXORMode(super.m_HighLightColor);
  245.          var11.drawImage(var4, var7, var8, (ImageObserver)null);
  246.          var11.setPaintMode();
  247.          Object var12 = null;
  248.          var11.dispose();
  249.          Object var13 = null;
  250.       }
  251.  
  252.    }
  253.  
  254.    public boolean IsHotSpotChangedWithin() {
  255.       return this.m_HSChangedWithin;
  256.    }
  257.  
  258.    public boolean IsHighLightable() {
  259.       return true;
  260.    }
  261.  
  262.    public boolean ShowMouseEffect(Graphics var1) {
  263.       super.m_MouseEffectOn = true;
  264.       this.m_HSChangedWithin = false;
  265.       this.Refresh(var1);
  266.       return true;
  267.    }
  268.  
  269.    public int FindHotSpotUnderPoint(Point var1) {
  270.       if (super.m_HotSpotList == null) {
  271.          return -1;
  272.       } else {
  273.          Point var2 = var1;
  274.          if (((JMxGraphic)this).IsScrollable()) {
  275.             var2 = this.ConvertMousePoint(var1);
  276.          }
  277.  
  278.          boolean var3 = false;
  279.  
  280.          for(int var4 = 0; var4 < super.m_HotSpotList.length; ++var4) {
  281.             if (this.IsHotSpotUnderPoint(var4, var2, false)) {
  282.                return var4;
  283.             }
  284.          }
  285.  
  286.          return -1;
  287.       }
  288.    }
  289.  
  290.    public boolean Play(Graphics var1, Graphics var2) {
  291.       if (this.m_SrcWidth == -1) {
  292.          this.m_SrcWidth = ((Image)super.m_MediaItem.m_MediaObject).getWidth((ImageObserver)null);
  293.       }
  294.  
  295.       if (this.m_SrcHeight == -1) {
  296.          this.m_SrcHeight = ((Image)super.m_MediaItem.m_MediaObject).getHeight((ImageObserver)null);
  297.       }
  298.  
  299.       if (super.m_HotSpotList != null && this.m_RelMousePoint.x != -1 && this.m_RelMousePoint.y != -1 && ((JMxGraphic)this).IsScrollable()) {
  300.          int var3 = super.m_LastScrollOffset;
  301.          super.m_LastScrollOffset = super.m_ScrollOffset;
  302.          JMxLong var4 = new JMxLong(0L);
  303.          Point var5 = new Point(this.m_RelMousePoint.x + super.m_PlaybackRect.x, this.m_RelMousePoint.y + super.m_PlaybackRect.y);
  304.          this.HasMouseEffect(var4, var5);
  305.          super.m_LastScrollOffset = var3;
  306.          if (var4.m_Value == 1L) {
  307.             super.m_Player.ChangeCursorType(12);
  308.          }
  309.       }
  310.  
  311.       super.Play(var1, var2);
  312.       return true;
  313.    }
  314.  
  315.    public void GetNextScrollOffset() {
  316.       if (super.m_TransInType != 300 && super.m_TransInType != 301) {
  317.          super.m_ScrollOffset += 10;
  318.          if (super.m_ScrollOffset >= this.m_SrcWidth) {
  319.             super.m_ScrollOffset -= this.m_SrcWidth;
  320.          }
  321.       } else {
  322.          super.m_ScrollOffset += 10;
  323.          if (super.m_ScrollOffset >= this.m_SrcHeight) {
  324.             super.m_ScrollOffset -= this.m_SrcHeight;
  325.             return;
  326.          }
  327.       }
  328.  
  329.    }
  330.  
  331.    public JMxText(JMxPlayer var1) {
  332.       super(var1);
  333.       super.m_MediaType = 10;
  334.    }
  335. }
  336.